package com.un.ebs.sys.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.un.ebs.core.enums.UserTypeEnum;
import com.un.ebs.core.metadata.DbField;
import lombok.Data;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * (PersonnelExt)表实体类
 *
 * @author makejava
 * @since 2021-03-11 10:06:40
 */
@Data
@Component
@TableName("v_personnel_ext")
@SuppressWarnings("serial")
public class PersonnelExt extends Model<PersonnelExt> {


    @DbField(name = "id", length = 40, precision = 0)
    private String id;

    @DbField(name = "personnel_id", length = 40, precision = 0)
    private String personnelId;

    @DbField(name = "name", length = 255, precision = 0)
    private String name;

    @DbField(name = "tel", length = 50, precision = 0)
    private String tel;

    @DbField(name = "sex", length = -1, precision = 0)
    private Integer sex;

    @DbField(name = "ent_id", length = 40, precision = 0)
    private String entId;

    @DbField(name = "ent_name", length = 255, precision = 0)
    private String entName;

    @DbField(name = "dept_name", length = 255, precision = 0)
    private String deptName;

    @DbField(name = "birth_date", length = -1, precision = 0)
    private Date birthDate;

    @DbField(name = "email", length = 100, precision = 0)
    private String email;

    @DbField(name = "user_id", length = 40, precision = 0)
    private String userId;

    @DbField(name = "user_name", length = 100, precision = 0)
    private String userName;

    @DbField(name = "user_type", length = -1, precision = 0)
    private UserTypeEnum userType;

    @TableField(fill = FieldFill.INSERT)
    @DbField(name = "create_at", length = 40, precision = 0)
    private String createAt;

    @TableField(fill = FieldFill.INSERT)
    @DbField(name = "create_time", length = -1, precision = 0)
    private Date createTime;

    @TableField(fill = FieldFill.UPDATE)
    @DbField(name = "last_modified_at", length = 40, precision = 0)
    private String lastModifiedAt;

    @TableField(fill = FieldFill.UPDATE)
    @DbField(name = "last_modified_time", length = -1, precision = 0)
    private Date lastModifiedTime;

    @DbField(name = "sort", length = -1, precision = 0)
    private Integer sort;

    @DbField(name = "is_register_audit", length = -1, precision = 0)
    private Boolean isRegisterAudit;

    @DbField(name = "address", length = 200, precision = 0)
    private String address;

    @DbField(name = "register_remark", length = 500, precision = 0)
    private String registerRemark;

    @DbField(name = "dept_id", length = 40, precision = 0)
    private String deptId;

    @TableLogic
    @DbField(name = "is_delete", length = -1, precision = 0)
    private Boolean isDelete;


}